home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vdl020d.zip / VEMS2.DOC < prev    next >
Text File  |  1993-04-14  |  8KB  |  476 lines

  1. {
  2.  ════════════════════════════════════════════════════════════════════════════
  3.  
  4.  Visionix Expanded Memory Services Unit (VEMS)
  5.  Copyright 1991,92,93 Visionix
  6.  ALL RIGHTS RESERVED
  7.  
  8.  ────────────────────────────────────────────────────────────────────────────
  9.  
  10.  Revision history in reverse chronological order:
  11.  
  12.  Initials  Date      Comment
  13.  ────────  ────────  ────────────────────────────────────────────────────────
  14.  
  15.  lpg       03/15/93  Added Source Documentation
  16.  
  17.  mep       02/11/93  Cleaned up code for beta release
  18.  
  19.  jrt       02/08/93  Sync with beta 0.12 release
  20.  
  21.  jrt       12/07/92  Sync with beta 0.11 release
  22.  
  23.  jrt       11/21/92  Sync with beta 0.08
  24.  
  25.  jrt       11/18/92  First logged revision.
  26.  
  27.  ────────────────────────────────────────────────────────────────────────────
  28.  
  29. }
  30.  
  31. Unit VEMS;
  32.  
  33.  
  34. Uses
  35.  
  36.   VTypes,
  37.   DOS;
  38.  
  39. {────────────────────────────────────────────────────────────────────────────}
  40.  
  41. Type
  42.  
  43.   TEMSHandle = WORD;
  44.   PEMSHadle  = ^TEMSHandle;
  45.  
  46.   TEMSError  = BYTE;
  47.  
  48. {────────────────────────────────────────────────────────────────────────────}
  49.  
  50. { EMS 3.0 functions.  4.0 is being implemented. }
  51.  
  52.  
  53. Function VEMSInstalled                                               : BOOLEAN;
  54.  
  55. Function VEMSGetVersion                                              : BYTE;
  56.  
  57. Function VEMSGetPageFrameSeg                                         : WORD;
  58.  
  59. Function VEMSGetStatus                                               : TEMSError;
  60.  
  61. Function VEMSGetErrorText(             EMSstatus      : BYTE       ) : STRING;
  62.  
  63. Function VEMSCountFreePages                                          : WORD;
  64.  
  65. Function VEMSCountTotalPages                                         : WORD;
  66.  
  67. Function VEMSNewPages(                 NumPages2Alloc : WORD       ) : TEMSHandle;
  68.  
  69. Function VEMSPageMap(                  EMSHandle      : TEMSHandle;
  70.                                        LogPage        : WORD;
  71.                                        PhysPage       : WORD       ) : TEMSError;
  72.  
  73. Function VEMSDisposePages(             EMSHandle      : TEMSHandle ) : TEMSError;
  74.  
  75. Function VEMS30SavePageMap(            Handle         : TEMSHandle ) : TEMSError;
  76.  
  77. Function VEMS30RestorePageMap(         Handle         : TEMSHandle ) : TEMSError;
  78.  
  79. Function VEMSCountHandles                                            : WORD;
  80.  
  81. Function VEMSHandlePageCount(          Handle         : TEMSHandle ) : WORD;
  82.  
  83. Function VEMSSavePageMap(              Point          : POINTER    ) : TEMSError;
  84.  
  85. Function VEMSRestorePageMap(           Point          : POINTER    ) : TEMSError;
  86.  
  87. Function VEMSSaveRestorePageMap(       SourcePoint    : POINTER;
  88.                                        DestPoint      : POINTER    ) : TEMSError;
  89.  
  90. Function VEMSGetPageMapSize                                          : WORD;
  91.  
  92. {────────────────────────────────────────────────────────────────────────────}
  93.  
  94.  
  95. ──────────────────────────────────────────────────────────────────────────────
  96.  
  97.  
  98. [FUNCTION]
  99.  
  100. Function VEMSInstalled                                       : BOOLEAN;
  101.  
  102. [PARAMETERS]
  103.  
  104. (None)
  105.  
  106. [RETURNS]
  107.  
  108. Whether EMS Support is Available
  109.  
  110. [DESCRIPTION]
  111.  
  112. [SEE-ALSO]
  113.  
  114. [EXAMPLE]
  115.  
  116.  
  117. ──────────────────────────────────────────────────────────────────────────────
  118.  
  119.  
  120. [FUNCTION]
  121.  
  122. Function VEMSGetVersion                                      : BYTE;
  123.  
  124. [PARAMETERS]
  125.  
  126. (None)
  127.  
  128. [RETURNS]
  129.  
  130. EMS Version Number
  131.  
  132. [DESCRIPTION]
  133.  
  134. [SEE-ALSO]
  135.  
  136. [EXAMPLE]
  137.  
  138.  
  139. ──────────────────────────────────────────────────────────────────────────────
  140.  
  141.  
  142. [FUNCTION]
  143.  
  144. Function VEMSGetPageFrameSeg                                 : WORD;
  145.  
  146. [PARAMETERS]
  147.  
  148. (None)
  149.  
  150. [RETURNS]
  151.  
  152. EMS Page Frame Segment
  153.  
  154. [DESCRIPTION]
  155.  
  156. [SEE-ALSO]
  157.  
  158. [EXAMPLE]
  159.  
  160.  
  161. ──────────────────────────────────────────────────────────────────────────────
  162.  
  163.  
  164. [FUNCTION]
  165.  
  166. Function VEMSGetStatus                                       : TEMSError;
  167.  
  168. [PARAMETERS]
  169.  
  170. (None)
  171.  
  172. [RETURNS]
  173.  
  174. [DESCRIPTION]
  175.  
  176. [SEE-ALSO]
  177.  
  178. [EXAMPLE]
  179.  
  180.  
  181. ──────────────────────────────────────────────────────────────────────────────
  182.  
  183.  
  184. [FUNCTION]
  185.  
  186. Function VEMSGetErrorText(             Status         : BYTE ) : STRING;
  187.  
  188. [PARAMETERS]
  189.  
  190. Status      EMS Error Code
  191.  
  192. [RETURNS]
  193.  
  194. EMS Error Message Text
  195.  
  196. [DESCRIPTION]
  197.  
  198. Converts an EMS Error Code into a Text Error Message.
  199.  
  200. [SEE-ALSO]
  201.  
  202. [EXAMPLE]
  203.  
  204.  
  205. ──────────────────────────────────────────────────────────────────────────────
  206.  
  207.  
  208. [FUNCTION]
  209.  
  210. Function VEMSCountFreePages                                  : WORD;
  211.  
  212. [PARAMETERS]
  213.  
  214. (None)
  215.  
  216. [RETURNS]
  217.  
  218. Number of Free EMS Pages
  219.  
  220. [DESCRIPTION]
  221.  
  222. [SEE-ALSO]
  223.  
  224. [EXAMPLE]
  225.  
  226.  
  227. ──────────────────────────────────────────────────────────────────────────────
  228.  
  229.  
  230. [FUNCTION]
  231.  
  232. Function VEMSCountTotalPages                                 : WORD;
  233.  
  234. [PARAMETERS]
  235.  
  236. (None)
  237.  
  238. [RETURNS]
  239.  
  240. Total Number of EMS Pages
  241.  
  242. [DESCRIPTION]
  243.  
  244. [SEE-ALSO]
  245.  
  246. [EXAMPLE]
  247.  
  248.  
  249. ──────────────────────────────────────────────────────────────────────────────
  250.  
  251.  
  252. [FUNCTION]
  253.  
  254. Function VEMSNewPages(               NumPages2Alloc : WORD ) : TEMSHandle; ;
  255.  
  256. [PARAMETERS]
  257.  
  258. NumPages2Alloc Number of Pages to Allocate
  259.  
  260. [RETURNS]
  261.  
  262. [DESCRIPTION]
  263.  
  264. [SEE-ALSO]
  265.  
  266. [EXAMPLE]
  267.  
  268.  
  269. ──────────────────────────────────────────────────────────────────────────────
  270.  
  271.  
  272. [FUNCTION]
  273.  
  274. Function VEMSPageMap(                Handle         : TEMSHandle;
  275.                                      LogPage        : WORD;
  276.                                      PhysPage       : WORD       ) : TEMSError;
  277.  
  278. [PARAMETERS]
  279.  
  280. Handle      EMS Page Handle
  281. LogPage     Logical Page Number
  282. PhysPage    Physical Page Number
  283.  
  284. [RETURNS]
  285.  
  286. [DESCRIPTION]
  287.  
  288. [SEE-ALSO]
  289.  
  290. [EXAMPLE]
  291.  
  292.  
  293. ──────────────────────────────────────────────────────────────────────────────
  294.  
  295.  
  296. [FUNCTION]
  297.  
  298. Function VEMSDisposePages(           Handle      : TEMSHandle ) : TEMSError;
  299.  
  300. [PARAMETERS]
  301.  
  302. Handle      EMS Page Handle
  303.  
  304. [RETURNS]
  305.  
  306. [DESCRIPTION]
  307.  
  308. [SEE-ALSO]
  309.  
  310. [EXAMPLE]
  311.  
  312.  
  313. ──────────────────────────────────────────────────────────────────────────────
  314.  
  315.  
  316. [FUNCTION]
  317.  
  318. Function VEMS30SavePageMap(          Handle         : TEMSHandle ) : TEMSError;
  319.  
  320. [PARAMETERS]
  321.  
  322. Handle      EMS Page Handle
  323.  
  324. [RETURNS]
  325.  
  326. [DESCRIPTION]
  327.  
  328. [SEE-ALSO]
  329.  
  330. [EXAMPLE]
  331.  
  332.  
  333. ──────────────────────────────────────────────────────────────────────────────
  334.  
  335.  
  336. [FUNCTION]
  337.  
  338. Function VEMS30RestorePageMap(       Handle         : TEMSHandle ) : TEMSError;
  339.  
  340. [PARAMETERS]
  341.  
  342. Handle      EMS Page Handle
  343.  
  344. [RETURNS]
  345.  
  346. [DESCRIPTION]
  347.  
  348. [SEE-ALSO]
  349.  
  350. [EXAMPLE]
  351.  
  352.  
  353. ──────────────────────────────────────────────────────────────────────────────
  354.  
  355.  
  356. [FUNCTION]
  357.  
  358. Function VEMSCountHandles                                    : WORD;
  359.  
  360. [PARAMETERS]
  361.  
  362. (None)
  363.  
  364. [RETURNS]
  365.  
  366. Total Number of EMS Handles
  367.  
  368. [DESCRIPTION]
  369.  
  370. [SEE-ALSO]
  371.  
  372. [EXAMPLE]
  373.  
  374.  
  375. ──────────────────────────────────────────────────────────────────────────────
  376.  
  377.  
  378. [FUNCTION]
  379.  
  380. Function VEMSHandlePageCount(        Handle         : TEMSHandle ) : WORD;
  381.  
  382. [PARAMETERS]
  383.  
  384. Handle      EMS Page Handle
  385.  
  386. [RETURNS]
  387.  
  388. [DESCRIPTION]
  389.  
  390. [SEE-ALSO]
  391.  
  392. [EXAMPLE]
  393.  
  394.  
  395. ──────────────────────────────────────────────────────────────────────────────
  396.  
  397.  
  398. [FUNCTION]
  399.  
  400. Function VEMSSavePageMap(            Point          : POINTER    ) : TEMSError;
  401.  
  402. [PARAMETERS]
  403.  
  404. Point       ?
  405.  
  406. [RETURNS]
  407.  
  408. [DESCRIPTION]
  409.  
  410. [SEE-ALSO]
  411.  
  412. [EXAMPLE]
  413.  
  414.  
  415. ──────────────────────────────────────────────────────────────────────────────
  416.  
  417.  
  418. [FUNCTION]
  419.  
  420. Function VEMSRestorePageMap(         Point          : POINTER    ) : TEMSError;
  421.  
  422. [PARAMETERS]
  423.  
  424. Point       ?
  425.  
  426. [RETURNS]
  427.  
  428. [DESCRIPTION]
  429.  
  430. [SEE-ALSO]
  431.  
  432. [EXAMPLE]
  433.  
  434.  
  435. ──────────────────────────────────────────────────────────────────────────────
  436.  
  437.  
  438. [FUNCTION]
  439.  
  440. Function VEMSSaveRestorePageMap(     SourcePoint     : POINTER;
  441.                                      DestPoint       : POINTER    ) : TEMSError;
  442.  
  443. [PARAMETERS]
  444.  
  445. SourcePoint ?
  446. DestPoint   ?
  447.  
  448. [RETURNS]
  449.  
  450. [DESCRIPTION]
  451.  
  452. [SEE-ALSO]
  453.  
  454. [EXAMPLE]
  455.  
  456.  
  457. ──────────────────────────────────────────────────────────────────────────────
  458.  
  459.  
  460. [FUNCTION]
  461.  
  462. Function VEMSGetPageMapSize                                  : WORD;
  463.  
  464. [PARAMETERS]
  465.  
  466. (None)
  467.  
  468. [RETURNS]
  469.  
  470. [DESCRIPTION]
  471.  
  472. [SEE-ALSO]
  473.  
  474. [EXAMPLE]
  475.  
  476.